Patient Access Clinical Data API - Implementation Template (US Core)
Setup guide
Please review the pre-requisite setup instructions for setting up Salesforce Health Cloud, Salesforce Connected App, and MuleSoft's HL7 Connector.
Importing Templates into Anypoint Studio
- In Studio, click the Exchange X icon in the upper left of the taskbar.
- Log in with your Anypoint Platform credentials.
- Search for the template
- Click Open.
Running Templates in Anypoint Studio
After you import your template into Studio, follow these configuration steps to run it:
Common Configuration
mule.env- sets the environment where the application is to be deployed. It should be configured inconfig-<mule.env>.yamlfile. For a studio deployment, the recommended mule.env value islocal.mule.key- sets the encryption password to be used for encrypting secure properties. Update as needed.api.autoDiscoveryIDshould be configured inconfig-<mule.env>.yamlfile.
HTTPS Configuration
https.host— sets the service host interface. It should be configured inconfig-<mule.env>.yamlfile. (Defaults to 0.0.0.0 for all interfaces).https.port— sets the HTTPS service port number. It should be configured inconfig-<mule.env>.yamlfile. (Default 8082).https.defaultRecordLimit: Sets the default search limit for the result set. (Default 20).- TLS Configuration - Keystore properties setup:
keystore.alias- sets the alias to the keystore. It should be configured inconfig-<mule.env>.yamlfile.keystore.path- sets the path to the key file. Key should be available in /src/main/resources/keystore. It should be configured inconfig-<mule.env>.yamlfile.keystore.keypass— sets keystore keypass to support HTTPS operation. It should be encrypted and configured inconfig-secured-<mule.env>.yamlfile.keystore.password— sets keystore password to support HTTPS operation. It should be encrypted and configured inconfig-secured-<mule.env>.yamlfile.
Please refer to the attached link on how to generate the Keystore.
Please refer to the attached link on how to secure the configuration properties.
System APIs configuration
fhir.api.device: Is a string with the end point of us core device system api.fhir.api.diagnosticReport: Is a string with the end point of us core diagnosticReport system api.fhir.api.documentReference: Is a string with the end point of us core documentReference system api.fhir.api.procedure: Is a string with the end point of us core procedure system api.fhir.api.medicationRequest: Is a string with the end point of us core medicationRequest system api.fhir.api.coverage: Is a string with the end point of us core coverage system api.fhir.api.patient: Is a string with the end point of us core patient system api.fhir.api.allergyIntolerance: Is a string with the end point of us core allergyIntolerance system api.fhir.api.carePlan: Is a string with the end point of us core carePlan system api.fhir.api.careTeam: Is a string with the end point of us core careTeam system api.fhir.api.condition: Is a string with the end point of us core condition system api.fhir.api.encounter: Is a string with the end point of us core encounter system api.fhir.api.goal: Is a string with the end point of us core goal system api.fhir.api.immunization: Is a string with the end point of us core immunization system api.fhir.api.location: Is a string with the end point of us core location system api.fhir.api.medication: Is a string with the end point of us core device medication api.fhir.api.organization: Is a string with the end point of us core organization system api.fhir.api.observation: Is a string with the end point of us core observation system api.fhir.api.practitioner: Is a string with the end point of us core practitioner system api.fhir.api.practitionerRole: Is a string with the end point of us core practitionerRole system api.
Run it
- Right-click the template project folder.
- Hover your mouse over Run as.
- Click Mule Application (configure).
- Inside the dialog, select Environment and set the variable mule.env to the appropriate value (e.g dev or local).
- Inside the dialog, select Environment and set the variable mule.key. Click Run.
Deployment instructions for CloudHub using provided scripts
Ensure the Maven profile CloudHub-DEV has been properly configured in your settings.xml file. Reference can be found by downloading the Accelerator Setup Guide asset. Additional instructions are available in Accelerator Setup Guide - Configuring the Accelerator Build section.
Update the config-<env>.yaml properties appropriately and then use one of the following scripts to deploy the application to CloudHub:
- packageDeploy.sh or deployOnly.sh (Mac/Linux)
- packageDeploy.cmd or deployOnly.cmd (Windows)
Test it
- Use Advanced Rest Client or Postman to send a request over HTTPS. The template includes a postman collection in the
src/test/resourcesfolder. Update the collection variable(s) after successful import.